Fuel:ToCartoCSV, and リファクタリング
1 parent 55846dc commit ca0de9f1c97f24aa594d1a66133fc39270e6cf6f
@hayashi hayashi authored on 18 Sep 2017
Showing 4 changed files
View
1
■■■■
src/ImportGML_FUEL_update.sh
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.DbFuel -update -drop
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.DbExist
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.Fuel
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.ToPostgis
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.ToCartoCSV
 
# java -cp hsqldb_2.2.9.jar org.hsqldb.util.DatabaseManager
# db_driver=org.hsqldb.jdbcDriver
# db_url=jdbc:hsqldb:file:./database/db
View
699
src/fuel.activity.violet.html
</signal>
</SignalSendingNode>
<ScenarioEndNode id="115">
<children id="116"/>
<location class="Point2D.Double" id="117" x="590.0" y="880.0"/>
<location class="Point2D.Double" id="117" x="590.0" y="890.0"/>
<id id="118" value="a121b8ef-6be4-4ff4-a18d-c3fd18d2b28f"/>
<revision>1</revision>
<backgroundColor reference="27"/>
<borderColor reference="28"/>
<signal id="140" justification="1" size="4" underlined="false">
<text>Create &amp; insert</text>
</signal>
</SignalSendingNode>
<SynchronizationBarNode id="141">
<children id="142"/>
<location class="Point2D.Double" id="143" x="600.0" y="900.0"/>
<id id="144" value="7146a687-6c6a-4c04-97bb-aebdaa240d99"/>
<revision>1</revision>
<backgroundColor id="145">
<red>255</red>
<green>255</green>
<blue>255</blue>
<alpha>255</alpha>
</backgroundColor>
<borderColor id="146">
<red>0</red>
<green>0</green>
<blue>0</blue>
<alpha>255</alpha>
</borderColor>
<textColor reference="146"/>
</SynchronizationBarNode>
<ActivityNode id="147">
<children id="148"/>
<location class="Point2D.Double" id="149" x="660.0" y="950.0"/>
<id id="150" value="ecf14653-9f2b-4338-92e7-9bd42d7cc63e"/>
<revision>1</revision>
<backgroundColor reference="145"/>
<borderColor reference="146"/>
<textColor reference="146"/>
<name id="151" justification="1" size="4" underlined="false">
<text>ToCartoCSV.main()
</text>
</name>
</ActivityNode>
<ScenarioStartNode id="152">
<children id="153"/>
<location class="Point2D.Double" id="154" x="690.0" y="900.0"/>
<id id="155" value="ae5fa9ea-a217-403f-9fd2-927f54a413ff"/>
<revision>1</revision>
<backgroundColor reference="145"/>
<borderColor reference="146"/>
<textColor reference="146"/>
</ScenarioStartNode>
<NoteNode id="156">
<children id="157"/>
<location class="Point2D.Double" id="158" x="890.0" y="950.0"/>
<id id="159" value="d2d1c98d-87ee-47dd-a750-fbe5a19e9d47"/>
<revision>1</revision>
<backgroundColor reference="145"/>
<borderColor reference="146"/>
<textColor reference="146"/>
<text id="160" justification="0" size="4" underlined="false">
<text>t_fuel.csv</text>
</text>
<color id="161">
<red>255</red>
<green>228</green>
<blue>181</blue>
<alpha>255</alpha>
</color>
</NoteNode>
<ScenarioEndNode id="162">
<children id="163"/>
<location class="Point2D.Double" id="164" x="700.0" y="1040.0"/>
<id id="165" value="d236cb09-36d1-41fa-bac7-69314f2b2cc6"/>
<revision>1</revision>
<backgroundColor reference="145"/>
<borderColor reference="146"/>
<textColor reference="146"/>
</ScenarioEndNode>
</nodes>
<edges id="141">
<ActivityTransitionEdge id="142">
<edges id="166">
<ActivityTransitionEdge id="167">
<start class="SignalReceiptNode" reference="14"/>
<end class="ScenarioStartNode" reference="3"/>
<startLocation class="Point2D.Double" id="143" x="180.0" y="30.0"/>
<endLocation class="Point2D.Double" id="144" x="10.0" y="10.0"/>
<transitionPoints id="145"/>
<id id="146" value="49cf92a0-c54c-4449-8315-0d43dda7f71f"/>
<startLocation class="Point2D.Double" id="168" x="180.0" y="30.0"/>
<endLocation class="Point2D.Double" id="169" x="10.0" y="10.0"/>
<transitionPoints id="170"/>
<id id="171" value="49cf92a0-c54c-4449-8315-0d43dda7f71f"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="HV"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="147">
<ActivityTransitionEdge id="172">
<start class="ScenarioStartNode" reference="3"/>
<end class="ActivityNode" reference="9"/>
<startLocation class="Point2D.Double" id="148" x="10.0" y="10.0"/>
<endLocation class="Point2D.Double" id="149" x="30.0" y="30.0"/>
<transitionPoints id="150"/>
<id id="151" value="f3d6d19a-fcbf-4889-b609-d62ed94c1ecd"/>
<startLocation class="Point2D.Double" id="173" x="10.0" y="10.0"/>
<endLocation class="Point2D.Double" id="174" x="30.0" y="30.0"/>
<transitionPoints id="175"/>
<id id="176" value="f3d6d19a-fcbf-4889-b609-d62ed94c1ecd"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="152">
<ActivityTransitionEdge id="177">
<start class="ActivityNode" reference="9"/>
<end class="SignalSendingNode" reference="31"/>
<startLocation class="Point2D.Double" id="153" x="150.0" y="30.0"/>
<endLocation class="Point2D.Double" id="154" x="20.0" y="20.0"/>
<transitionPoints id="155"/>
<id id="156" value="c2706e6e-8192-40ea-bc86-3831df40a7f0"/>
<startLocation class="Point2D.Double" id="178" x="150.0" y="30.0"/>
<endLocation class="Point2D.Double" id="179" x="20.0" y="20.0"/>
<transitionPoints id="180"/>
<id id="181" value="c2706e6e-8192-40ea-bc86-3831df40a7f0"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="157">
<ActivityTransitionEdge id="182">
<start class="SignalSendingNode" reference="31"/>
<end class="ScenarioEndNode" reference="19"/>
<startLocation class="Point2D.Double" id="158" x="80.0" y="20.0"/>
<endLocation class="Point2D.Double" id="159" x="10.0" y="10.0"/>
<transitionPoints id="160"/>
<id id="161" value="24857284-cfd5-4cdc-a206-e108544ce859"/>
<startLocation class="Point2D.Double" id="183" x="80.0" y="20.0"/>
<endLocation class="Point2D.Double" id="184" x="10.0" y="10.0"/>
<transitionPoints id="185"/>
<id id="186" value="24857284-cfd5-4cdc-a206-e108544ce859"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="HV"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="162">
<ActivityTransitionEdge id="187">
<start class="ActivityNode" reference="40"/>
<end class="SignalSendingNode" reference="50"/>
<startLocation class="Point2D.Double" id="163" x="210.0" y="20.0"/>
<endLocation class="Point2D.Double" id="164" x="50.0" y="10.0"/>
<transitionPoints id="165"/>
<id id="166" value="0a834a18-8b72-4a3f-a281-5c2e6177f284"/>
<startLocation class="Point2D.Double" id="188" x="210.0" y="20.0"/>
<endLocation class="Point2D.Double" id="189" x="50.0" y="10.0"/>
<transitionPoints id="190"/>
<id id="191" value="0a834a18-8b72-4a3f-a281-5c2e6177f284"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="167">
<ActivityTransitionEdge id="192">
<start class="SignalSendingNode" reference="50"/>
<end class="ScenarioEndNode" reference="55"/>
<startLocation class="Point2D.Double" id="168" x="80.0" y="20.0"/>
<endLocation class="Point2D.Double" id="169" x="10.0" y="10.0"/>
<transitionPoints id="170"/>
<id id="171" value="45b7e590-63c1-4d8f-b966-41e27457bddc"/>
<startLocation class="Point2D.Double" id="193" x="80.0" y="20.0"/>
<endLocation class="Point2D.Double" id="194" x="10.0" y="10.0"/>
<transitionPoints id="195"/>
<id id="196" value="45b7e590-63c1-4d8f-b966-41e27457bddc"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="HV"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="172">
<ActivityTransitionEdge id="197">
<start class="ScenarioStartNode" reference="36"/>
<end class="ActivityNode" reference="40"/>
<startLocation class="Point2D.Double" id="173" x="10.0" y="10.0"/>
<endLocation class="Point2D.Double" id="174" x="10.0" y="30.0"/>
<transitionPoints id="175"/>
<id id="176" value="d4714c28-4923-4707-9c56-7ec03b13c19a"/>
<startLocation class="Point2D.Double" id="198" x="10.0" y="10.0"/>
<endLocation class="Point2D.Double" id="199" x="10.0" y="30.0"/>
<transitionPoints id="200"/>
<id id="201" value="d4714c28-4923-4707-9c56-7ec03b13c19a"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="177">
<ActivityTransitionEdge id="202">
<start class="SignalReceiptNode" reference="14"/>
<end class="ScenarioStartNode" reference="36"/>
<startLocation class="Point2D.Double" id="178" x="70.0" y="30.0"/>
<endLocation class="Point2D.Double" id="179" x="10.0" y="10.0"/>
<transitionPoints id="180"/>
<id id="181" value="80ec6df0-20bc-4631-b74a-c0197064ba9c"/>
<startLocation class="Point2D.Double" id="203" x="70.0" y="30.0"/>
<endLocation class="Point2D.Double" id="204" x="10.0" y="10.0"/>
<transitionPoints id="205"/>
<id id="206" value="80ec6df0-20bc-4631-b74a-c0197064ba9c"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<NoteEdge id="182">
<NoteEdge id="207">
<start class="NoteNode" reference="59"/>
<end class="ActivityNode" reference="9"/>
<startLocation class="Point2D.Double" id="183" x="80.0" y="20.0"/>
<endLocation class="Point2D.Double" id="184" x="110.0" y="30.0"/>
<transitionPoints id="185"/>
<id id="186" value="2950d21b-ec41-4506-a472-4de0c1e5db82"/>
<startLocation class="Point2D.Double" id="208" x="80.0" y="20.0"/>
<endLocation class="Point2D.Double" id="209" x="110.0" y="30.0"/>
<transitionPoints id="210"/>
<id id="211" value="2950d21b-ec41-4506-a472-4de0c1e5db82"/>
<revision>1</revision>
</NoteEdge>
<NoteEdge id="187">
<NoteEdge id="212">
<start class="NoteNode" reference="64"/>
<end class="ActivityNode" reference="40"/>
<startLocation class="Point2D.Double" id="188" x="60.0" y="40.0"/>
<endLocation class="Point2D.Double" id="189" x="120.0" y="30.0"/>
<transitionPoints id="190"/>
<id id="191" value="0f5815b5-3036-4173-94e0-5b746c30cc31"/>
<startLocation class="Point2D.Double" id="213" x="60.0" y="40.0"/>
<endLocation class="Point2D.Double" id="214" x="120.0" y="30.0"/>
<transitionPoints id="215"/>
<id id="216" value="0f5815b5-3036-4173-94e0-5b746c30cc31"/>
<revision>1</revision>
</NoteEdge>
<ActivityTransitionEdge id="192">
<ActivityTransitionEdge id="217">
<start class="ActivityNode" reference="77"/>
<end class="SignalSendingNode" reference="82"/>
<startLocation class="Point2D.Double" id="193" x="40.0" y="30.0"/>
<endLocation class="Point2D.Double" id="194" x="70.0" y="20.0"/>
<transitionPoints id="195"/>
<id id="196" value="954e8338-4349-4879-b539-a381de81f331"/>
<startLocation class="Point2D.Double" id="218" x="40.0" y="30.0"/>
<endLocation class="Point2D.Double" id="219" x="70.0" y="20.0"/>
<transitionPoints id="220"/>
<id id="221" value="954e8338-4349-4879-b539-a381de81f331"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="197">
<ActivityTransitionEdge id="222">
<start class="ScenarioStartNode" reference="73"/>
<end class="ActivityNode" reference="77"/>
<startLocation class="Point2D.Double" id="198" x="10.0" y="10.0"/>
<endLocation class="Point2D.Double" id="199" x="30.0" y="20.0"/>
<transitionPoints id="200"/>
<id id="201" value="16b750d0-d79c-4751-bae3-42f22d80987d"/>
<startLocation class="Point2D.Double" id="223" x="10.0" y="10.0"/>
<endLocation class="Point2D.Double" id="224" x="30.0" y="20.0"/>
<transitionPoints id="225"/>
<id id="226" value="16b750d0-d79c-4751-bae3-42f22d80987d"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<NoteEdge id="202">
<NoteEdge id="227">
<start class="NoteNode" reference="45"/>
<end class="ActivityNode" reference="77"/>
<startLocation class="Point2D.Double" id="203" x="60.0" y="30.0"/>
<endLocation class="Point2D.Double" id="204" x="120.0" y="40.0"/>
<transitionPoints id="205"/>
<id id="206" value="8f767308-fc6e-4118-b3f8-24ae9bf44376"/>
<startLocation class="Point2D.Double" id="228" x="60.0" y="30.0"/>
<endLocation class="Point2D.Double" id="229" x="120.0" y="40.0"/>
<transitionPoints id="230"/>
<id id="231" value="8f767308-fc6e-4118-b3f8-24ae9bf44376"/>
<revision>1</revision>
</NoteEdge>
<ActivityTransitionEdge id="207">
<ActivityTransitionEdge id="232">
<start class="SignalSendingNode" reference="82"/>
<end class="ScenarioEndNode" reference="87"/>
<startLocation class="Point2D.Double" id="208" x="40.0" y="20.0"/>
<endLocation class="Point2D.Double" id="209" x="10.0" y="10.0"/>
<transitionPoints id="210"/>
<id id="211" value="0bc19c0d-f2a6-4bd0-b327-10be6d0e9a56"/>
<startLocation class="Point2D.Double" id="233" x="40.0" y="20.0"/>
<endLocation class="Point2D.Double" id="234" x="10.0" y="10.0"/>
<transitionPoints id="235"/>
<id id="236" value="0bc19c0d-f2a6-4bd0-b327-10be6d0e9a56"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<NoteEdge id="212">
<NoteEdge id="237">
<start class="NoteNode" reference="23"/>
<end class="ActivityNode" reference="105"/>
<startLocation class="Point2D.Double" id="213" x="40.0" y="20.0"/>
<endLocation class="Point2D.Double" id="214" x="30.0" y="30.0"/>
<transitionPoints id="215"/>
<id id="216" value="c3409433-8f4d-471c-82b0-3b0427f43000"/>
<startLocation class="Point2D.Double" id="238" x="40.0" y="20.0"/>
<endLocation class="Point2D.Double" id="239" x="30.0" y="30.0"/>
<transitionPoints id="240"/>
<id id="241" value="c3409433-8f4d-471c-82b0-3b0427f43000"/>
<revision>1</revision>
</NoteEdge>
<ActivityTransitionEdge id="217">
<ActivityTransitionEdge id="242">
<start class="ScenarioStartNode" reference="101"/>
<end class="ActivityNode" reference="105"/>
<startLocation class="Point2D.Double" id="218" x="0.0" y="10.0"/>
<endLocation class="Point2D.Double" id="219" x="90.0" y="30.0"/>
<transitionPoints id="220"/>
<id id="221" value="8d302931-bddb-4e26-bfed-ffa335314e1f"/>
<startLocation class="Point2D.Double" id="243" x="0.0" y="10.0"/>
<endLocation class="Point2D.Double" id="244" x="90.0" y="30.0"/>
<transitionPoints id="245"/>
<id id="246" value="8d302931-bddb-4e26-bfed-ffa335314e1f"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="222">
<ActivityTransitionEdge id="247">
<start class="ActivityNode" reference="105"/>
<end class="SignalSendingNode" reference="110"/>
<startLocation class="Point2D.Double" id="223" x="80.0" y="40.0"/>
<endLocation class="Point2D.Double" id="224" x="40.0" y="10.0"/>
<transitionPoints id="225"/>
<id id="226" value="c960fa13-6cda-4dde-ae65-7b9065b81d77"/>
<startLocation class="Point2D.Double" id="248" x="80.0" y="40.0"/>
<endLocation class="Point2D.Double" id="249" x="40.0" y="10.0"/>
<transitionPoints id="250"/>
<id id="251" value="c960fa13-6cda-4dde-ae65-7b9065b81d77"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="227">
<ActivityTransitionEdge id="252">
<start class="SignalSendingNode" reference="110"/>
<end class="ScenarioEndNode" reference="115"/>
<startLocation class="Point2D.Double" id="228" x="40.0" y="30.0"/>
<endLocation class="Point2D.Double" id="229" x="10.0" y="10.0"/>
<transitionPoints id="230"/>
<id id="231" value="15a0b098-b83d-4b14-8e29-12452c162543"/>
<startLocation class="Point2D.Double" id="253" x="40.0" y="30.0"/>
<endLocation class="Point2D.Double" id="254" x="10.0" y="10.0"/>
<transitionPoints id="255"/>
<id id="256" value="15a0b098-b83d-4b14-8e29-12452c162543"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="232">
<ActivityTransitionEdge id="257">
<start class="SignalSendingNode" reference="31"/>
<end class="NoteNode" reference="23"/>
<startLocation class="Point2D.Double" id="233" x="40.0" y="20.0"/>
<endLocation class="Point2D.Double" id="234" x="30.0" y="10.0"/>
<transitionPoints id="235"/>
<id id="236" value="6ee77a58-2b22-47b4-bfc6-7ec359d59c89"/>
<startLocation class="Point2D.Double" id="258" x="40.0" y="20.0"/>
<endLocation class="Point2D.Double" id="259" x="30.0" y="10.0"/>
<transitionPoints id="260"/>
<id id="261" value="6ee77a58-2b22-47b4-bfc6-7ec359d59c89"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="STRAIGHT"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="237">
<ActivityTransitionEdge id="262">
<start class="SignalSendingNode" reference="50"/>
<end class="NoteNode" reference="45"/>
<startLocation class="Point2D.Double" id="238" x="80.0" y="30.0"/>
<endLocation class="Point2D.Double" id="239" x="80.0" y="30.0"/>
<transitionPoints id="240"/>
<id id="241" value="d26157d6-b7b1-40f1-878f-981b2cd3748f"/>
<startLocation class="Point2D.Double" id="263" x="80.0" y="30.0"/>
<endLocation class="Point2D.Double" id="264" x="80.0" y="30.0"/>
<transitionPoints id="265"/>
<id id="266" value="d26157d6-b7b1-40f1-878f-981b2cd3748f"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="STRAIGHT"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="242">
<ActivityTransitionEdge id="267">
<start class="SignalSendingNode" reference="110"/>
<end class="NoteNode" reference="91"/>
<startLocation class="Point2D.Double" id="243" x="20.0" y="20.0"/>
<endLocation class="Point2D.Double" id="244" x="90.0" y="20.0"/>
<transitionPoints id="245"/>
<id id="246" value="a230d4d0-8991-44e5-9cc8-f704e9bfa3d6"/>
<startLocation class="Point2D.Double" id="268" x="20.0" y="20.0"/>
<endLocation class="Point2D.Double" id="269" x="90.0" y="20.0"/>
<transitionPoints id="270"/>
<id id="271" value="a230d4d0-8991-44e5-9cc8-f704e9bfa3d6"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="247">
<ActivityTransitionEdge id="272">
<start class="SignalReceiptNode" reference="14"/>
<end class="ScenarioStartNode" reference="126"/>
<startLocation class="Point2D.Double" id="248" x="70.0" y="20.0"/>
<endLocation class="Point2D.Double" id="249" x="10.0" y="10.0"/>
<transitionPoints id="250">
<Point2D.Double id="251" x="300.0" y="80.0"/>
<startLocation class="Point2D.Double" id="273" x="70.0" y="20.0"/>
<endLocation class="Point2D.Double" id="274" x="10.0" y="10.0"/>
<transitionPoints id="275">
<Point2D.Double id="276" x="300.0" y="80.0"/>
</transitionPoints>
<id id="252" value="364aef3a-2a69-4531-a8d2-16924f4802b3"/>
<id id="277" value="364aef3a-2a69-4531-a8d2-16924f4802b3"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="FREE"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="253">
<ActivityTransitionEdge id="278">
<start class="ScenarioStartNode" reference="126"/>
<end class="ActivityNode" reference="119"/>
<startLocation class="Point2D.Double" id="254" x="10.0" y="10.0"/>
<endLocation class="Point2D.Double" id="255" x="70.0" y="20.0"/>
<transitionPoints id="256"/>
<id id="257" value="62c9ea87-2578-4649-93d2-feb7f7a0952b"/>
<startLocation class="Point2D.Double" id="279" x="10.0" y="10.0"/>
<endLocation class="Point2D.Double" id="280" x="70.0" y="20.0"/>
<transitionPoints id="281"/>
<id id="282" value="62c9ea87-2578-4649-93d2-feb7f7a0952b"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<NoteEdge id="258">
<NoteEdge id="283">
<start class="NoteNode" reference="91"/>
<end class="ActivityNode" reference="119"/>
<startLocation class="Point2D.Double" id="259" x="60.0" y="20.0"/>
<endLocation class="Point2D.Double" id="260" x="50.0" y="30.0"/>
<transitionPoints id="261"/>
<id id="262" value="23bdd2a2-c136-40f9-a2ad-a0694cda2a54"/>
<startLocation class="Point2D.Double" id="284" x="60.0" y="20.0"/>
<endLocation class="Point2D.Double" id="285" x="50.0" y="30.0"/>
<transitionPoints id="286"/>
<id id="287" value="23bdd2a2-c136-40f9-a2ad-a0694cda2a54"/>
<revision>1</revision>
</NoteEdge>
<ActivityTransitionEdge id="263">
<ActivityTransitionEdge id="288">
<start class="ActivityNode" reference="119"/>
<end class="ScenarioEndNode" reference="130"/>
<startLocation class="Point2D.Double" id="264" x="150.0" y="30.0"/>
<endLocation class="Point2D.Double" id="265" x="10.0" y="10.0"/>
<transitionPoints id="266"/>
<id id="267" value="98e1b6a8-4b3b-4577-8faa-95288f0d548b"/>
<startLocation class="Point2D.Double" id="289" x="150.0" y="30.0"/>
<endLocation class="Point2D.Double" id="290" x="10.0" y="10.0"/>
<transitionPoints id="291"/>
<id id="292" value="98e1b6a8-4b3b-4577-8faa-95288f0d548b"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="HV"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="268">
<ActivityTransitionEdge id="293">
<start class="SignalSendingNode" reference="82"/>
<end class="NoteNode" reference="23"/>
<startLocation class="Point2D.Double" id="269" x="40.0" y="20.0"/>
<endLocation class="Point2D.Double" id="270" x="70.0" y="20.0"/>
<transitionPoints id="271"/>
<id id="272" value="4f21caa1-ebbb-4373-8462-9683922ca29a"/>
<startLocation class="Point2D.Double" id="294" x="40.0" y="20.0"/>
<endLocation class="Point2D.Double" id="295" x="70.0" y="20.0"/>
<transitionPoints id="296"/>
<id id="297" value="4f21caa1-ebbb-4373-8462-9683922ca29a"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="STRAIGHT"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="273">
<ActivityTransitionEdge id="298">
<start class="ActivityNode" reference="119"/>
<end class="SignalSendingNode" reference="134"/>
<startLocation class="Point2D.Double" id="274" x="130.0" y="30.0"/>
<endLocation class="Point2D.Double" id="275" x="40.0" y="30.0"/>
<transitionPoints id="276">
<Point2D.Double id="277" x="330.0" y="410.0"/>
<startLocation class="Point2D.Double" id="299" x="130.0" y="30.0"/>
<endLocation class="Point2D.Double" id="300" x="40.0" y="30.0"/>
<transitionPoints id="301">
<Point2D.Double id="302" x="330.0" y="410.0"/>
</transitionPoints>
<id id="278" value="36b74c3f-8ad3-485d-88b2-dfd48cff8a6f"/>
<id id="303" value="36b74c3f-8ad3-485d-88b2-dfd48cff8a6f"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="FREE"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="279">
<ActivityTransitionEdge id="304">
<start class="SignalSendingNode" reference="134"/>
<end class="NoteNode" reference="23"/>
<startLocation class="Point2D.Double" id="280" x="50.0" y="30.0"/>
<endLocation class="Point2D.Double" id="281" x="40.0" y="20.0"/>
<transitionPoints id="282"/>
<id id="283" value="713e81bc-1dcc-49e8-a1c7-1826723566f0"/>
<startLocation class="Point2D.Double" id="305" x="50.0" y="30.0"/>
<endLocation class="Point2D.Double" id="306" x="40.0" y="20.0"/>
<transitionPoints id="307"/>
<id id="308" value="713e81bc-1dcc-49e8-a1c7-1826723566f0"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="STRAIGHT"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="309">
<start class="ScenarioStartNode" reference="152"/>
<end class="ActivityNode" reference="147"/>
<startLocation class="Point2D.Double" id="310" x="10.0" y="10.0"/>
<endLocation class="Point2D.Double" id="311" x="40.0" y="30.0"/>
<transitionPoints id="312"/>
<id id="313" value="a67439f6-f6bb-4985-a86f-91f6eb8361f5"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="314">
<start class="ActivityNode" reference="147"/>
<end class="ScenarioEndNode" reference="162"/>
<startLocation class="Point2D.Double" id="315" x="60.0" y="30.0"/>
<endLocation class="Point2D.Double" id="316" x="10.0" y="10.0"/>
<transitionPoints id="317"/>
<id id="318" value="b31b8416-cec3-48bd-b8bc-1091d067fae3"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
<ActivityTransitionEdge id="319">
<start class="ActivityNode" reference="147"/>
<end class="NoteNode" reference="156"/>
<startLocation class="Point2D.Double" id="320" x="90.0" y="40.0"/>
<endLocation class="Point2D.Double" id="321" x="20.0" y="20.0"/>
<transitionPoints id="322"/>
<id id="323" value="b2357de9-8655-44a4-84c8-155edfc2d8aa"/>
<revision>1</revision>
<lineStyle name="SOLID"/>
<startArrowHead name="NONE"/>
<bentStyle name="AUTO"/>
<startLabel></startLabel>
<middleLabel></middleLabel>
<endLabel></endLabel>
</ActivityTransitionEdge>
</edges>
</ActivityDiagramGraph>]]></SCRIPT>
<BR />
<BR />
<IMG alt="embedded diagram image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA2sAAANrCAIAAABX15fHAACAAElEQVR42uy9DVCV2WH/v1NkgUUK
<IMG alt="embedded diagram image" src="data:image/png;base64,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
98MAAAAASUVORK5C" />
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
Tni3EQAAAABJRU5ErkJg" />
</BODY>
</HTML>
View
68
src/osm/jp/api/HttpPOST.java
*
* @author 68user http://X68000.q-e-d.net/~68user/
*/
public class HttpPOST {
//public static String host = "http://api06.dev.openstreetmap.org";
//public static String host = "http://api.openstreetmap.org";
public static String host = "http://overpass-api.de";
public static void main(String[] args) throws MalformedURLException, ProtocolException, IOException {
double minlat = 35.13d;
double maxlat = 35.66d;
//public static String host = "http://api06.dev.openstreetmap.org";
//public static String host = "http://api.openstreetmap.org";
public static String host = "http://overpass-api.de";
 
public static void main(String[] args) throws MalformedURLException, ProtocolException, IOException {
double minlat = 35.13d;
double maxlat = 35.66d;
double minlon = 138.99d;
double maxlon = 139.79d;
double maxlon = 139.79d;
getCapabilities(new File("output.xml"), "highway", "bus_stop", minlat, maxlat, minlon, maxlon);
getCapabilities(new File("output.xml"), "highway", "disused:bus_stop", minlat, maxlat, minlon, maxlon);
getCapabilities(new File("output.xml"), "amenity", "bus_station", minlat, maxlat, minlon, maxlon);
getCapabilities(new File("output.xml"), "public_transport", "platform", minlat, maxlat, minlon, maxlon);
getCapabilities(new File("output.xml"), "public_transport", "stop_position", minlat, maxlat, minlon, maxlon);
}
public static void getCapabilities(File oFile, String key, String value, double minLat, double maxLat, double minLon, double maxLon) throws MalformedURLException, ProtocolException, IOException {
if (oFile.isFile()) {
oFile.delete();
}
public static void getCapabilities(File oFile, String key, String value, double minLat, double maxLat, double minLon, double maxLon) throws MalformedURLException, ProtocolException, IOException {
if (oFile.isFile()) {
oFile.delete();
}
 
BufferedWriter hw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(oFile), "UTF-8"));
getCapabilities(hw, key, value, minLat, maxLat, minLon, maxLon);
BufferedWriter hw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(oFile), "UTF-8"));
getCapabilities(hw, key, value, minLat, maxLat, minLon, maxLon);
hw.close();
}
public static void getCapabilities(BufferedWriter hw, String key, String value, double minLat, double maxLat, double minLon, double maxLon) throws MalformedURLException, ProtocolException, IOException {
System.out.println(host + "/api/interpreter");
}
public static void getCapabilities(BufferedWriter hw, String key, String value, double minLat, double maxLat, double minLon, double maxLon) throws MalformedURLException, ProtocolException, IOException {
System.out.println(host + "/api/interpreter");
URL url = new URL(host + "/api/interpreter");
int responsecode = 0;
 
do {
outputWriter(pw, " </union>");
outputWriter(pw, " <print/>");
outputWriter(pw, "</osm-script>");
pw.close(); // closeで送信完了
 
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {}
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {}
 
responsecode = urlconn.getResponseCode();
System.out.println("レスポンスコード[" + responsecode + "] " +
"レスポンスメッセージ[" + urlconn.getResponseMessage() + "]");
Map<String,List<String>> headers = urlconn.getHeaderFields();
for (Map.Entry<String, List<String>> bar : headers.entrySet()) {
System.out.print("\t" + bar.getKey() +"\t: "); // キーを取得
System.out.print("\t" + bar.getKey() +"\t: "); // キーを取得
List<String> vals = bar.getValue(); // 値を取得
for(String str : vals) {
System.out.print("["+ str +"],");
}
// レスポンスコード[429] レスポンスメッセージ[Too Many Requests]
// レスポンスコード[500] レスポンスメッセージ[Internal server error]
// レスポンスコード[504] レスポンスメッセージ[Gateway Timeout]
try {
TimeUnit.MINUTES.sleep(5);
} catch (InterruptedException e) {}
TimeUnit.MINUTES.sleep(5);
} catch (InterruptedException e) {}
}
else {
System.out.println("\n---- ボディ ----");
 
BufferedReader reader = new BufferedReader(new InputStreamReader(urlconn.getInputStream(), "UTF-8"));
while (true) {
String line = reader.readLine();
if (line == null) {
break;
}
hw.write(line);
hw.newLine();
hw.write(line);
hw.newLine();
}
reader.close();
}
urlconn.disconnect();
try {
TimeUnit.SECONDS.sleep(5);
} catch (InterruptedException e) {}
TimeUnit.SECONDS.sleep(5);
} catch (InterruptedException e) {}
}
while ((responsecode == 429) || (responsecode == 504));
}
}
 
public static void outputWriter(PrintWriter pw, String text) {
System.out.println("\t" + text);
pw.print(text);
}
public static void outputWriter(PrintWriter pw, String text) {
System.out.println("\t" + text);
pw.print(text);
}
}
View
src/osm/jp/coverage/fuel/ToCartoCSV.java 0 → 100644