LRTKレフィクシア株式会社

点群OBJアップロードで413エラーが出る原因と5つの対処

点群から作成したOBJデータをクラウドやWebシステムへアップロードしようとしたとき、「413」と表示されて処理が止まることがあります。OBJ自体は正常に開けているため、ファイル破損を疑って再出力しても状況が変わらず、容量を少し減らしたら突然アップロードできるようになった、というケースもあります。

413エラーは、一般にアップロード時に送信されたデータ量が、受信側や通信経路上で設定されている上限を超えた場合に返されるHTTPステータスです。ブラウザ画面にエラーが表示されていても、必ずしもブラウザそのものが原因とは限りません。Webサーバー、リバースプロキシ、APIの入口、アプリケーションなど、アップロード経路の途中にある仕組みが要求を拒否している可能性があります。

特に点群由来のOBJは、頂点数や面数が増えやすく、さらに材質情報やテクスチャ画像を伴う場合もあります。そのため、通常の写真や文書では問題にならない容量上限に達しやすいデータです。ただし、413エラーが出たからといって、むやみにOBJを軽量化すればよいわけではありません。施工記録、出来形確認、構造物の形状確認などに使用するデータでは、削減方法によって必要な形状まで失う可能性があるからです。

この記事では、「点群 OBJ アップロード」で413エラーに困っている実務担当者を想定し、エラーが発生する仕組みから原因の切り分け方、実務で取りやすい5つの対処まで順番に解説します。

点群OBJアップロードで表示される413エラーとは

413エラーは、Web経由で送信した内容が受信側で許容されている大きさを超えているときに返されることがあるHTTPステータスです。現在の仕様では「Content Too Large」と表現されることがありますが、システムによっては異なるメッセージや単に「413」とだけ表示される場合もあります。

点群OBJのアップロードで重要なのは、413が「OBJの形状が間違っている」という意味ではないことです。OBJ内の頂点記述や面定義に不整合がある場合とは、まず切り分けて考える必要があります。OBJの記述内容に問題がなくても、アップロード時に送信されるデータ量が設定値を超えれば413になる可能性があります。

例えば、小さなOBJはアップロードできるのに、大きなOBJだけが毎回同じ段階で拒否される場合は、容量上限が関係している可能性を確認する価値があります。一方で、同じファイルが成功したり失敗したりする場合は、容量以外の要因も含めて確認した方が安全です。

また、413を返している場所が、最終的にOBJを保存するアプリケーションとは限りません。利用者から見ると一つのクラウド画面でも、実際の通信では入口となるサーバー、アクセス制御を行う仕組み、アプリケーション、データ保存先などを順番に通過する構成があります。その途中にアップロード容量の上限が設定されていれば、アプリケーション本体へファイルが届く前に拒否されることがあります。

そのため、「保存先には十分な空き容量があるから問題ない」と判断することもできません。保存可能な容量と、一回のHTTPリクエストで受け取れる容量は別の条件として設定されていることがあるからです。

413エラーに対応するときは、OBJの中身だけを見るのではなく、「実際に何を、どの経路で、どれだけの容量として送っているのか」を確認することが重要です。

413エラーが点群OBJで起こりやすい理由

点群計測から作成するOBJは、現場の形状を細かく残そうとするとデータ量が急速に増えます。OBJはテキスト形式で頂点座標や面情報などを記述できるため、頂点数や面数が大きくなるほどファイルサイズも増加します。

例えば、広い造成現場を一つのモデルにまとめたり、構造物の細かな凹凸を残したまま高密度のモデルを生成したりすると、確認に必要な範囲を超えるデータまで含まれていることがあります。現場で取得した元データをそのまま高密度でOBJ化した場合、アップロード先で想定されている一般的なファイルより大きくなることもあります。

さらに、実務で「OBJ」と呼んでいるデータが、OBJファイル一つだけで完結しているとは限りません。材質設定を記述するファイルや、表面表現に使用する画像を同時に扱う構成では、アップロード対象全体が大きくなります。

ここで注意したいのは、アップロード画面上で表示される一つのファイルサイズと、通信時に送信されるリクエスト全体のサイズが完全に同一とは限らないことです。Webフォームを利用したアップロードでは、ファイル本体以外の情報も送信されるため、容量上限ぎりぎりのファイルでは、この差が影響する場合があります。

また、点群からOBJを作成するときには、用途より高い密度でモデル化しているケースがあります。現地形状の概略確認が目的なのに微細な面まで保持していたり、施工対象から遠く離れた地形や不要な背景まで含めたりすると、OBJの情報量は増え続けます。

つまり、点群OBJで413が起きやすい理由は、単純に「点群だから重い」のではありません。対象範囲、点密度、メッシュ密度、座標表現、材質、テクスチャ、アップロード方法など複数の条件が組み合わさり、結果として送信量が大きくなりやすいことが背景にあります。

OBJファイル容量だけを見ても原因を判断できない

413エラーが出ると、まずOBJファイルのプロパティを確認し、「この容量なら大きすぎないはず」と考えることがあります。しかし、ファイル単体の容量だけで413の発生条件を判断するのは安全ではありません。

アップロード時には、OBJ以外のデータを同時に送っている可能性があります。材質情報やテクスチャをまとめて選択していれば、その合計が実質的な送信量に影響します。システムによっては複数ファイルを一つの送信処理にまとめることもあります。

また、容量制限が「ファイル一個当たり」なのか「一回のリクエスト全体」なのかによっても判断が変わります。OBJが上限未満でも、同時送信するファイルを含めたリクエスト全体が上限を超えれば拒否される可能性があります。

アップロード先までに複数の受信処理が存在する場合、それぞれ異なる上限が設定されていることもあります。アプリケーション側では大きなファイルを受け入れる設定になっていても、その手前にある通信経路の制限が小さければ、そこで413が返されます。

切り分けでは、まず極端に小さいOBJを同じ画面、同じアカウント、同じ操作でアップロードできるか確認します。小さいデータが成功し、大きなデータだけが安定して失敗するなら、容量に関する条件を優先的に確認できます。

次に、問題のOBJから対象範囲を縮小した試験用データを作り、どの程度までなら受け付けられるかを確認します。例えば、元データの半分程度にしたときに成功するのであれば、OBJの内容そのものの破損だけでなく、容量境界の存在を疑う材料になります。

反対に、十分小さなOBJでも413が返る場合は、ファイルサイズだけでは説明できません。アップロード処理の構成や送信先、設定変更後の反映状況なども確認する必要があります。

対処1 必要範囲を絞ってOBJ自体を軽量化する

最初に検討しやすい対処は、OBJに含める情報を必要な範囲へ絞ることです。ただし、目的は単にファイルサイズを小さくすることではありません。業務で必要な形状を保持したまま、不要な情報を減らすことが重要です。

点群からOBJを作成する工程では、計測した全範囲をそのまま一つのモデルへ含めてしまうことがあります。例えば、施工対象が道路の一部分であるにもかかわらず、周囲の建物、遠方の地形、車両、仮設物などまでモデル化していれば、その分だけ頂点や面の数が増えます。

まずアップロード後に何を確認するのかを明確にします。対象構造物の形状確認が目的であれば、確認対象から離れた範囲を除外できる場合があります。出来形や土量に関係するモデルであれば、計算や比較に必要な施工範囲を基準に切り出す方法が考えられます。

次に、過度に細かなメッシュが残っていないかを確認します。点群から作られた面は、平坦な場所であっても多数の小さな三角形に分割されていることがあります。形状を確認するだけであれば、用途に影響しない範囲で面数を減らせる場合があります。

ただし、法肩、側溝、縁石、構造物の角、段差など、形状変化の大きい部分まで一律に簡略化すると、必要な境界が丸まったり位置確認が難しくなったりします。軽量化は全体に同じ強度でかけるのではなく、残すべき部分を意識して行う必要があります。

座標値の小数点以下の桁数もOBJ容量へ影響します。OBJは文字列として座標を記述するため、不必要に長い小数表現を大量の頂点に持たせればファイルサイズが増えます。ただし、必要な精度を考えずに小数桁を削ると座標が丸められ、モデル形状や位置に影響する可能性があります。

そのため、座標精度の調整は「軽くなるから桁を減らす」という考え方ではなく、最終用途で必要な分解能や座標精度を確認したうえで決めます。

軽量化後は、ファイル容量だけでなく形状も確認します。元モデルと軽量化モデルを同じ範囲で比較し、境界、段差、構造物の角、施工管理上重要な箇所が変形していないかを見ることが大切です。

対処2 OBJを区画や用途ごとに分割してアップロードする

一つのOBJへ現場全体をまとめる必要がない場合は、モデルを分割する方法が有効です。大容量の一括アップロードを避けられるため、413エラーへの対処として検討しやすくなります。

例えば、長い道路であれば施工区間ごとに分け、造成現場であれば工区や管理区画で分ける考え方があります。建物や構造物であれば階、棟、構造物単位など、実務上意味のある境界を利用すると管理しやすくなります。

ただし、単純にファイル容量が均等になる位置で切ればよいとは限りません。後から比較や確認を行うことを考えると、施工管理上の区画と一致させた方が、どのOBJがどの現場範囲を示すのか判断しやすくなります。

分割する際には、座標系や原点の扱いも揃えておく必要があります。各OBJを個別に書き出した結果、ローカル座標の原点が別々に設定されてしまうと、後で複数モデルを重ねる際に位置が合わなくなることがあります。

また、アップロード先が複数OBJの管理や重ね合わせに対応しているかも確認します。システムが一つのモデルとしての登録しか想定していない場合、ユーザー側でファイルを分割するだけでは目的を達成できません。分割したOBJを個別に登録して運用できることを確認したうえで採用します。

アップロードが413で失敗したからといって、OBJファイルを機械的に途中で分割するのも適切ではありません。OBJでは頂点と面の参照関係があるため、テキストファイルを容量だけで途中分割するとモデルとして成立しなくなることがあります。

分割は、元点群やモデル編集段階で空間的な範囲を区切り、それぞれ正常なOBJとして書き出す方法が基本です。各ファイルについて単独で開けることを確認してからアップロードします。

区画分割が適切にできれば、413への対処だけでなく、再処理の範囲も限定できます。現場の一部分だけを更新した場合、現場全体を再出力するのではなく、変更した区画だけを更新する運用につなげられます。

対処3 MTLやテクスチャなど関連ファイルを整理する

点群由来のOBJでは、形状だけでなく外観も残すために、材質情報やテクスチャ画像を伴うことがあります。この場合、OBJだけを見て容量を判断すると、実際のアップロード量を過小評価する可能性があります。

テクスチャ画像は、条件によってはOBJ本体より大きな容量になることがあります。高解像度画像を多数使用しているモデルでは、形状を軽量化しても全体容量があまり減らない場合があります。

まず、今回のアップロードでテクスチャが本当に必要かを確認します。形状確認や位置確認が中心で、色情報が業務判断に直接必要でなければ、用途に応じて形状中心のデータへ整理できる場合があります。

テクスチャが必要な場合は、必要以上の解像度になっていないかを確認します。画面上で現場全体を確認する用途と、微細な表面状態まで拡大して確認する用途では、求められる画像解像度が異なります。最終用途を基準に調整することが重要です。

材質数にも注意します。モデル生成や編集を繰り返した結果、実質的に同じ用途の材質が多数に分かれている場合があります。使用していない材質や参照されていない関連データが残っていれば、整理できる可能性があります。

一方で、必要なMTLやテクスチャを容量削減だけを目的に削除すると、アップロード後に表面表示が想定と異なることがあります。OBJから参照されるファイル名と実際のファイル名が一致していること、必要な関連ファイルが揃っていることも確認します。

アーカイブ形式でまとめてアップロードできるシステムであれば、その仕様に従って関連データを整理します。ただし、アップロード先がアーカイブ形式を受け付けない場合に、容量を減らす目的だけで圧縮しても利用できません。

重要なのは「圧縮できるか」ではなく、「そのアップロード方式が正式に受け付ける構成の中で容量を最適化できるか」です。

対処4 アップロード経路にある容量上限を確認する

OBJを軽量化しても業務上必要な容量を下回れない場合は、受信側の容量上限を確認します。自社管理のシステムであれば、アプリケーション担当者やインフラ担当者と連携し、アップロード経路全体を確認する必要があります。

ここでよくある誤解が、アプリケーション側の上限だけを変更すれば解決するという考え方です。利用者からアップロードされたデータは、最終的なアプリケーションに到達する前に複数の仕組みを通過する場合があります。

例えば、入口側で受信する仕組みの上限が小さければ、その先のアプリケーションを大容量対応にしていても413になる可能性があります。逆に、入口側を大きくしてもアプリケーション側の制限が小さければ、別の段階で拒否されることがあります。

そのため、容量上限を確認するときは、一つの設定値ではなくアップロード経路全体を見る必要があります。Webサーバー相当の処理、通信を中継する仕組み、API受付部分、アプリケーションの受信処理など、それぞれに制限が設定されていないかを確認します。

管理されたクラウドサービスを利用していて利用者側で設定を変更できない場合は、管理者へ状況を伝えます。その際、「アップロードできません」だけでは原因を切り分けにくくなります。

発生日時、アップロードしたファイルの種類、OBJ単体のおおよその容量、関連ファイルを含むか、小さいOBJでは成功するか、問題のOBJでは毎回再現するかといった情報を整理すると、容量制限との関係を確認しやすくなります。

容量上限を引き上げる場合にも、無制限に大きくすればよいわけではありません。大容量のリクエストを受け入れることは、サーバー資源や処理時間、同時利用への影響にも関係します。必要な業務容量を把握したうえで、システム全体として適切な設定を検討する必要があります。

また、設定を変更した直後は、変更した箇所が実際のアップロード経路へ反映されているかを確認します。複数の環境がある場合や、中継する仕組みが複数ある場合には、変更対象を取り違えると症状が変わりません。

対処5 再アップロード前に送信方法と容量境界を検証する

413が出たときに、同じOBJを何度もアップロードし直すだけでは原因を特定できません。容量制限が原因なら、条件を変えずに再試行しても同じ場所で拒否される可能性が高いためです。

まず、小さなテストOBJを用意し、同じアップロード手順で成功することを確認します。その後、容量や範囲を段階的に増やし、どの付近から失敗するかを調べます。

例えば、元データを大幅に縮小したモデルでは成功し、そこから容量を増やしたモデルで失敗するのであれば、容量に関係する境界が存在する可能性が高まります。この方法は、OBJ内容の特殊な記述による問題と、純粋な送信量の問題を切り分けるうえでも役立ちます。

アップロード先が大容量データ向けの分割送信や再開機能を提供している場合は、その正式な方式を使用します。ここで注意したいのは、通信上のデータ転送を小分けにする仕組みと、アプリケーションが複数回のリクエストとしてファイルを分割アップロードする仕組みは同じではないことです。

単に通信方式が分割されて見えるからといって、サーバー側の総容量制限を回避できるとは限りません。大容量アップロードに対応するには、受信側が複数の部分を受け取り、管理し、最終的なファイルとして扱う仕組みを備えている必要があります。

また、OBJアップロードの前に、ファイルがローカル環境で正常に開けることも確認しておきます。413そのものは容量に関係することが多いエラーですが、容量対策後に別の問題が見つかることもあります。

そのため、確認順序を決めておくと効率的です。まずOBJとして成立しているかを確認し、次に必要な関連ファイルを確認し、そのうえで容量と送信条件を確認します。

問題が発生した日時やファイル容量を記録しておくことも重要です。後日設定が変更された場合でも、以前どの容量で成功し、どの容量で失敗したかが残っていれば、再発時の比較が容易になります。

413エラーと通信切断を混同しない

大きな点群OBJをアップロードすると、処理に時間がかかるため、途中で止まったように見えることがあります。そのため、「大きなファイルだから413になった」と判断しやすいのですが、大容量アップロードで発生する問題がすべて413とは限りません。

通信状態が不安定で送信が途中で切れた場合、413とは別の症状になることがあります。処理時間が長すぎて中継部分やアプリケーションで待ち時間の制限に達した場合も、容量上限とは別の問題です。

413が画面や通信記録で明確に確認できている場合は容量制限を中心に切り分けられますが、「アップロード失敗」とだけ表示されている場合には、最初から413と決めつけない方が安全です。

特に大容量OBJでは、容量、通信時間、メモリ使用量、変換処理時間など複数の条件が同時に問題になることがあります。容量を減らしたことでアップロード時間も短縮され、結果として成功した場合、容量上限だけが原因だったとは限りません。

反対に、同じ容量のファイルで通信環境を変えても毎回すぐに413が返るのであれば、単純な回線速度より受信側の制限を優先して調べた方がよいでしょう。

実務ではエラー番号、発生までの時間、ファイル容量、関連ファイルの有無、成功した比較データを一緒に残しておくと、原因の絞り込みがしやすくなります。

精度を落としすぎずにOBJ容量を削減する考え方

413対策として最も避けたいのは、「アップロードできればよい」という理由だけで点群やOBJを過度に間引くことです。

施工現場で扱う三次元データには、形状確認、現況記録、施工前後比較、数量算出などさまざまな用途があります。必要な情報量は用途によって異なります。

例えば、現場全体の配置確認が目的であれば、微小な表面凹凸まで残す必要がない場合があります。一方、縁石や構造物の端部などを確認するのであれば、単純な一律間引きによって必要な境界まで失う可能性があります。

そのため、OBJを軽量化するときは最初に「このモデルで何を見るのか」を決めます。

次に、不要範囲の削除を優先します。確認に使用しない遠方の地形や背景を削る方法であれば、確認対象そのものの密度を落とさずに容量を減らせる可能性があります。

その後に、確認対象内部の密度調整を検討します。平坦部と複雑な形状部を同じ条件で処理する必要はありません。重要な変化点を残しながら単純形状の部分を軽量化できれば、データ量と確認性のバランスを取りやすくなります。

テクスチャについても同じ考え方です。形状確認だけなら非常に高解像度の画像が不要な場合がありますが、ひび割れや表面状況まで画像として確認する目的なら、一律に低解像度化すると必要な情報が失われます。

元データを必ず残しておくことも重要です。アップロード用の軽量OBJを作る場合、計測時の元点群や高密度モデルまで上書きしてしまうと、後から詳細確認が必要になったときに戻せません。

元データ、加工途中のデータ、アップロード用データを区別して管理すれば、413対策のために軽量化した後でも必要に応じて再生成できます。

現場で再発を防ぐためのデータ作成ルール

413エラーは、発生するたびに個別対応するより、点群取得からOBJ作成までのルールを決めておく方が効率的です。

まず、現場全体を一つの巨大なOBJへまとめることを標準にしないことが重要です。工区、施工日、構造物、管理対象など、後工程で利用しやすい単位をあらかじめ決めておくと、大容量化を抑えやすくなります。

次に、元点群と配布・アップロード用データを分けます。元点群は必要な情報を保持し、OBJは用途に合わせて範囲や密度を調整するという役割分担です。これにより、アップロード側の容量制限に合わせて元データの品質まで落とす必要がなくなります。

ファイル名にも範囲や更新時期が分かる情報を含めると管理しやすくなります。OBJを複数区画に分けるようになると、「どれが最新なのか」「どの区画なのか」が分からなくなることがあるためです。

座標系や原点の管理も統一します。複数OBJを個別に軽量化、分割しても、同じ基準で位置を管理できれば、後から現場全体を比較しやすくなります。

また、テクスチャ付きと形状確認用を用途に応じて作り分ける方法もあります。すべての用途で最大品質のテクスチャを持たせるのではなく、必要な情報量を選択する考え方です。

413が発生したときの記録方法も決めておくと再発対応が容易です。失敗したファイルのおおよその容量、成功した比較ファイル、使用した関連ファイル、発生日時などを記録しておけば、同様の現象が別の現場で起きたときに判断材料になります。

さらに、点群を取得する段階から後工程を考えておくことも重要です。必要以上に広い範囲を無計画に取得して一つの成果物へまとめると、OBJ生成時の処理量だけでなく、アップロードや閲覧時の負荷も大きくなります。

現場記録と三次元データの対応関係を明確にし、どこをいつ計測したデータなのか管理できれば、必要な範囲だけを選びやすくなります。

点群OBJアップロードを安定させるためのまとめ

点群OBJアップロード時の413エラーは、ファイルの形状そのものではなく、アップロード時に送信するデータ量が受信側や途中の仕組みで設定された上限を超えている場合に発生することがあります。

対処では、最初からサーバー設定だけを疑ったり、反対にOBJだけを極端に軽量化したりするのではなく、どこで容量が増えているのかを順番に確認することが重要です。

まず、施工範囲や確認目的に不要な領域を除き、OBJそのものを適切に軽量化します。次に、一つの巨大なモデルへまとめる必要がなければ、工区や構造物など実務上意味のある単位で分割します。

テクスチャや材質情報を伴う場合は、OBJ単体ではなくアップロード対象全体の容量を確認します。それでも必要容量が上限を超える場合は、アップロード経路上に存在する各段階の受信制限を確認します。

そして、同じ大容量ファイルを繰り返し送るのではなく、小さな試験データから段階的に容量を増やし、どの条件で成功と失敗が分かれるのかを記録します。この切り分けができれば、OBJの破損、容量制限、通信上の問題を混同しにくくなります。

点群データの実務では、アップロードできることだけでなく、どの現場をいつ計測したデータなのか、どの座標基準で作成したのか、どの範囲を軽量化したのかまで追跡できることが重要です。

現場で取得した三次元データを継続的に活用するなら、計測段階からアップロード後の利用方法を想定し、必要な範囲を整理しておくとデータ管理がしやすくなります。LRTK Phoneを使った現場計測や位置情報付きの記録と組み合わせることで、現場ごとの計測位置や作業記録を整理しながら、後工程で扱いやすい三次元データへつなげていく運用を検討できます。

現場を3Dで残して、あとから測る。
実際の画面と動画で使い方を確認できます。

LRTK Phoneの使い方・実例を見る
資料請求導入相談
現場をスマホで3DスキャンLRTK Phone実例を見る

技術記事一覧へ戻る →